\hypertarget{lcd_8h}{
\section{powermeter/display\_\-unit/lcd.h File Reference}
\label{lcd_8h}\index{powermeter/display\_\-unit/lcd.h@{powermeter/display\_\-unit/lcd.h}}
}
Character LCD driver for HD44780/SED1278 displays.  


{\tt \#include \char`\"{}global.h\char`\"{}}\par
{\tt \#include \char`\"{}lcdconf.h\char`\"{}}\par
\subsection*{Defines}
\begin{CompactItemize}
\item 
\hypertarget{lcd_8h_3327fc550a4eebba30e30c14f055e6a5}{
\#define \textbf{LCD\_\-DELAY}~\_\-\_\-asm\_\-\_\- \_\-\_\-volatile\_\-\_\- (\char`\"{}nop$\backslash$n nop$\backslash$n nop$\backslash$n nop$\backslash$n nop$\backslash$n nop$\backslash$n nop$\backslash$n nop$\backslash$n nop$\backslash$n nop$\backslash$n\char`\"{});}
\label{lcd_8h_3327fc550a4eebba30e30c14f055e6a5}

\item 
\hypertarget{lcd_8h_459688213267d13ccfbeb2c9004988cb}{
\#define \textbf{LCD\_\-CLR}~0}
\label{lcd_8h_459688213267d13ccfbeb2c9004988cb}

\item 
\hypertarget{lcd_8h_e0e309ccad89222eb3457f2da9f2bb8d}{
\#define \textbf{LCD\_\-HOME}~1}
\label{lcd_8h_e0e309ccad89222eb3457f2da9f2bb8d}

\item 
\hypertarget{lcd_8h_e5d757ddb6d94de8c82191b60b40e442}{
\#define \textbf{LCD\_\-ENTRY\_\-MODE}~2}
\label{lcd_8h_e5d757ddb6d94de8c82191b60b40e442}

\item 
\hypertarget{lcd_8h_da766266a0be0d0040fbf86e23b58aa6}{
\#define \textbf{LCD\_\-ENTRY\_\-INC}~1}
\label{lcd_8h_da766266a0be0d0040fbf86e23b58aa6}

\item 
\hypertarget{lcd_8h_14d0c7fda147e0dc8cdaa4a2629b3532}{
\#define \textbf{LCD\_\-ENTRY\_\-SHIFT}~0}
\label{lcd_8h_14d0c7fda147e0dc8cdaa4a2629b3532}

\item 
\hypertarget{lcd_8h_98ea2185740c931ae4d872059dd489b1}{
\#define \textbf{LCD\_\-ON\_\-CTRL}~3}
\label{lcd_8h_98ea2185740c931ae4d872059dd489b1}

\item 
\hypertarget{lcd_8h_e84f634b0a1661c4d5bbaafd9397732a}{
\#define \textbf{LCD\_\-ON\_\-DISPLAY}~2}
\label{lcd_8h_e84f634b0a1661c4d5bbaafd9397732a}

\item 
\hypertarget{lcd_8h_47638b5ebbaec9600a0ebf9a55caf802}{
\#define \textbf{LCD\_\-ON\_\-CURSOR}~1}
\label{lcd_8h_47638b5ebbaec9600a0ebf9a55caf802}

\item 
\hypertarget{lcd_8h_5d76592a978537acee615098ce4d80f5}{
\#define \textbf{LCD\_\-ON\_\-BLINK}~0}
\label{lcd_8h_5d76592a978537acee615098ce4d80f5}

\item 
\hypertarget{lcd_8h_3f4f758b80fcfa6c9e4db58e2515c78a}{
\#define \textbf{LCD\_\-MOVE}~4}
\label{lcd_8h_3f4f758b80fcfa6c9e4db58e2515c78a}

\item 
\hypertarget{lcd_8h_addc2afa9a02bfa748950f2c1e6a204d}{
\#define \textbf{LCD\_\-MOVE\_\-DISP}~3}
\label{lcd_8h_addc2afa9a02bfa748950f2c1e6a204d}

\item 
\hypertarget{lcd_8h_97cdb19acf109ad52ab4994d2ad02cee}{
\#define \textbf{LCD\_\-MOVE\_\-RIGHT}~2}
\label{lcd_8h_97cdb19acf109ad52ab4994d2ad02cee}

\item 
\hypertarget{lcd_8h_50de1697f1da8ab075a6b4d7aeace64e}{
\#define \textbf{LCD\_\-FUNCTION}~5}
\label{lcd_8h_50de1697f1da8ab075a6b4d7aeace64e}

\item 
\hypertarget{lcd_8h_91d15d8e3008f6cb141406a8b5d0d3c0}{
\#define \textbf{LCD\_\-FUNCTION\_\-8BIT}~4}
\label{lcd_8h_91d15d8e3008f6cb141406a8b5d0d3c0}

\item 
\hypertarget{lcd_8h_6c24806bed18d565917165caa3475463}{
\#define \textbf{LCD\_\-FUNCTION\_\-2LINES}~3}
\label{lcd_8h_6c24806bed18d565917165caa3475463}

\item 
\hypertarget{lcd_8h_48de81358277fe4f2810c2b82f90397e}{
\#define \textbf{LCD\_\-FUNCTION\_\-10DOTS}~2}
\label{lcd_8h_48de81358277fe4f2810c2b82f90397e}

\item 
\hypertarget{lcd_8h_3b38de74c362be1781fef1136aa9684c}{
\#define \textbf{LCD\_\-CGRAM}~6}
\label{lcd_8h_3b38de74c362be1781fef1136aa9684c}

\item 
\hypertarget{lcd_8h_e54acf3ccc45b7d6be334a03627740c6}{
\#define \textbf{LCD\_\-DDRAM}~7}
\label{lcd_8h_e54acf3ccc45b7d6be334a03627740c6}

\item 
\hypertarget{lcd_8h_c8dd1658e235f174d1cabae5c438943d}{
\#define \textbf{LCD\_\-BUSY}~7}
\label{lcd_8h_c8dd1658e235f174d1cabae5c438943d}

\item 
\hypertarget{lcd_8h_9d77f74445f581d3ee0baaf5f7362ad7}{
\#define \textbf{LCD\_\-FDEF\_\-1}~(1$<$$<$LCD\_\-FUNCTION\_\-8BIT)}
\label{lcd_8h_9d77f74445f581d3ee0baaf5f7362ad7}

\item 
\hypertarget{lcd_8h_28cf11fbb2a1d6a43245d6f95aca591c}{
\#define \textbf{LCD\_\-FDEF\_\-2}~(1$<$$<$LCD\_\-FUNCTION\_\-2LINES)}
\label{lcd_8h_28cf11fbb2a1d6a43245d6f95aca591c}

\item 
\hypertarget{lcd_8h_3e90d5d09ca0b33d440049c09b5ab244}{
\#define \textbf{LCD\_\-FUNCTION\_\-DEFAULT}~((1$<$$<$LCD\_\-FUNCTION) $|$ LCD\_\-FDEF\_\-1 $|$ LCD\_\-FDEF\_\-2)}
\label{lcd_8h_3e90d5d09ca0b33d440049c09b5ab244}

\item 
\hypertarget{lcd_8h_1849e2087d3034a3fffa67444beed109}{
\#define \textbf{LCD\_\-MODE\_\-DEFAULT}~((1$<$$<$LCD\_\-ENTRY\_\-MODE) $|$ (1$<$$<$LCD\_\-ENTRY\_\-INC))}
\label{lcd_8h_1849e2087d3034a3fffa67444beed109}

\item 
\hypertarget{lcd_8h_471360e6138ae031cdb6a76b71655797}{
\#define \textbf{LCDCHAR\_\-PROGRESS05}~0}
\label{lcd_8h_471360e6138ae031cdb6a76b71655797}

\item 
\hypertarget{lcd_8h_49b37a5f8d5b541f5620ee5ccc0cfb89}{
\#define \textbf{LCDCHAR\_\-PROGRESS15}~1}
\label{lcd_8h_49b37a5f8d5b541f5620ee5ccc0cfb89}

\item 
\hypertarget{lcd_8h_13b7060a64d7a48cb309d2162f07a759}{
\#define \textbf{LCDCHAR\_\-PROGRESS25}~2}
\label{lcd_8h_13b7060a64d7a48cb309d2162f07a759}

\item 
\hypertarget{lcd_8h_4b17cf175b0df0c8724fea939d538a8f}{
\#define \textbf{LCDCHAR\_\-PROGRESS35}~3}
\label{lcd_8h_4b17cf175b0df0c8724fea939d538a8f}

\item 
\hypertarget{lcd_8h_158e949bb086e9987a27eebd70aa8aea}{
\#define \textbf{LCDCHAR\_\-PROGRESS45}~4}
\label{lcd_8h_158e949bb086e9987a27eebd70aa8aea}

\item 
\hypertarget{lcd_8h_3a232421106e116eb207a4024f4d330e}{
\#define \textbf{LCDCHAR\_\-PROGRESS55}~5}
\label{lcd_8h_3a232421106e116eb207a4024f4d330e}

\item 
\hypertarget{lcd_8h_d466f33f83ec70c3ca96b5566e7cfe36}{
\#define \textbf{LCDCHAR\_\-REWINDARROW}~6}
\label{lcd_8h_d466f33f83ec70c3ca96b5566e7cfe36}

\item 
\hypertarget{lcd_8h_7ef4fd902433bf899cdbfec71cae3dd3}{
\#define \textbf{LCDCHAR\_\-STOPBLOCK}~7}
\label{lcd_8h_7ef4fd902433bf899cdbfec71cae3dd3}

\item 
\hypertarget{lcd_8h_ff8ec12986bc981ccf605089fbcb12ac}{
\#define \textbf{LCDCHAR\_\-PAUSEBARS}~8}
\label{lcd_8h_ff8ec12986bc981ccf605089fbcb12ac}

\item 
\hypertarget{lcd_8h_dba15f8a7a7b3e9dfc7aaa3db73c83bd}{
\#define \textbf{LCDCHAR\_\-FORWARDARROW}~9}
\label{lcd_8h_dba15f8a7a7b3e9dfc7aaa3db73c83bd}

\item 
\hypertarget{lcd_8h_22987a3e5cd4f45bb6de68ed1bf66e29}{
\#define \textbf{LCDCHAR\_\-SCROLLUPARROW}~10}
\label{lcd_8h_22987a3e5cd4f45bb6de68ed1bf66e29}

\item 
\hypertarget{lcd_8h_49a34b7bbc9b71549d6c14f056901aa2}{
\#define \textbf{LCDCHAR\_\-SCROLLDNARROW}~11}
\label{lcd_8h_49a34b7bbc9b71549d6c14f056901aa2}

\item 
\hypertarget{lcd_8h_f6f566539a70a9b0049a3d0c4ed8901f}{
\#define \textbf{LCDCHAR\_\-BLANK}~12}
\label{lcd_8h_f6f566539a70a9b0049a3d0c4ed8901f}

\item 
\hypertarget{lcd_8h_d1421de41318ea8f89be30f29e3677f0}{
\#define \textbf{LCDCHAR\_\-ANIPLAYICON0}~13}
\label{lcd_8h_d1421de41318ea8f89be30f29e3677f0}

\item 
\hypertarget{lcd_8h_488b173cbb3c789d5be6af543ef033e7}{
\#define \textbf{LCDCHAR\_\-ANIPLAYICON1}~14}
\label{lcd_8h_488b173cbb3c789d5be6af543ef033e7}

\item 
\hypertarget{lcd_8h_98aa1b302b701a0d19948f6823f01983}{
\#define \textbf{LCDCHAR\_\-ANIPLAYICON2}~15}
\label{lcd_8h_98aa1b302b701a0d19948f6823f01983}

\item 
\hypertarget{lcd_8h_87e0afeeb680f3f40aeda9033d7d5456}{
\#define \textbf{LCDCHAR\_\-ANIPLAYICON3}~16}
\label{lcd_8h_87e0afeeb680f3f40aeda9033d7d5456}

\item 
\hypertarget{lcd_8h_8299126ee3ed92fc271bba9f0f16fa50}{
\#define \textbf{PROGRESSPIXELS\_\-PER\_\-CHAR}~6}
\label{lcd_8h_8299126ee3ed92fc271bba9f0f16fa50}

\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
\hypertarget{lcd_8h_22934d8b01693c136f7f13ab2631ed76}{
unsigned char \textbf{\_\-\_\-attribute\_\-\_\-} ((progmem)) LcdCustomChar\mbox{[}$\,$\mbox{]}}
\label{lcd_8h_22934d8b01693c136f7f13ab2631ed76}

\item 
\hypertarget{lcd_8h_353da5a36c2ec75a1ec31d69b140304e}{
void \textbf{lcdInitHW} (void)}
\label{lcd_8h_353da5a36c2ec75a1ec31d69b140304e}

\item 
\hypertarget{lcd_8h_97584984341c35313078b96e0163bb8d}{
void \textbf{lcdBusyWait} (void)}
\label{lcd_8h_97584984341c35313078b96e0163bb8d}

\item 
\hypertarget{lcd_8h_bf856e8987517e123bb9a44f606e46d0}{
void \textbf{lcdControlWrite} (u08 data)}
\label{lcd_8h_bf856e8987517e123bb9a44f606e46d0}

\item 
\hypertarget{lcd_8h_950fc37672f35374fb0bdf4bd5d27ac1}{
u08 \textbf{lcdControlRead} (void)}
\label{lcd_8h_950fc37672f35374fb0bdf4bd5d27ac1}

\item 
\hypertarget{lcd_8h_3c9fce3cf3a713cce3ab81421fa8e7af}{
void \textbf{lcdDataWrite} (u08 data)}
\label{lcd_8h_3c9fce3cf3a713cce3ab81421fa8e7af}

\item 
\hypertarget{lcd_8h_96fc21c69ce31fc15028426c350f5831}{
u08 \textbf{lcdDataRead} (void)}
\label{lcd_8h_96fc21c69ce31fc15028426c350f5831}

\item 
\hypertarget{lcd_8h_ecaa9ab68490a0b8dedd20d200d5d0ef}{
void \textbf{lcdInit} (void)}
\label{lcd_8h_ecaa9ab68490a0b8dedd20d200d5d0ef}

\item 
\hypertarget{lcd_8h_9e70639fae916438e72efc1ec49c465c}{
void \textbf{lcdHome} (void)}
\label{lcd_8h_9e70639fae916438e72efc1ec49c465c}

\item 
\hypertarget{lcd_8h_33ae394d426d486ccb84b73b2aed9104}{
void \textbf{lcdClear} (void)}
\label{lcd_8h_33ae394d426d486ccb84b73b2aed9104}

\item 
\hypertarget{lcd_8h_0dc4e5af7e7ad11031c2138286fae02f}{
void \textbf{lcdGotoXY} (u08 row, u08 col)}
\label{lcd_8h_0dc4e5af7e7ad11031c2138286fae02f}

\item 
\hypertarget{lcd_8h_0af2b14586a1311e541c5a83baac3134}{
void \textbf{lcdLoadCustomChar} (u08 $\ast$lcdCustomCharArray, u08 romCharNum, u08 lcdCharNum)}
\label{lcd_8h_0af2b14586a1311e541c5a83baac3134}

\item 
\hypertarget{lcd_8h_635d73a36518029d07f7856a2ad79e4e}{
void \textbf{lcdPrintData} (char $\ast$data, u08 nBytes)}
\label{lcd_8h_635d73a36518029d07f7856a2ad79e4e}

\item 
\hypertarget{lcd_8h_2ad3d09e447e5b5f33b1dd82b83fe756}{
void \textbf{lcdProgressBar} (u16 progress, u16 maxprogress, u08 length)}
\label{lcd_8h_2ad3d09e447e5b5f33b1dd82b83fe756}

\end{CompactItemize}


\subsection{Detailed Description}
Character LCD driver for HD44780/SED1278 displays. 



Definition in file \hyperlink{lcd_8h-source}{lcd.h}.